Today Internet Protocol television (IPTV) is a digital television system delivered over the Internet. IPTV encompasses both “ordinary” live TV and stored video, which often is referred to as Video on Demand. IPTV provides video and associated audio and sub-titles that is coded by a video encoder and audio encoder, respectively, and is then sent by using a transport stream (TS) that reaches the users. A commonly used transport stream for video and associated audio is the MPEG2-TS, which is a transport stream specified in MPEG-2 Part 1, Systems (formally known as ISO/IEC standard 13818-1 or ITU-T Rec. H.222.0).
In further detail, the MPEG2-TS specifies a container format that encapsulates packetized elementary streams, with error correction and stream synchronization features for maintaining transmission integrity if a signal used by the transport stream is degraded. MPEG2-TS is now a standard for the generic coding of moving pictures and associated audio information, and describes a combination of video compression and related audio data compression methods which permit storage and transmission of movies by using currently available storage media and transmission bandwidth.
Other types of transport streams are also used, and the type of information transported by the various transport streams typically vary and can in addition to IPTV be related to service like Voice over IP, Trivial File Transfer Protocol and many online games. However, the mentioned transport streams are all common in the sense that they transport data packets.
When transmitting data packets over an IP-network, the data packets must be encapsulated by using other protocols, for example by either using Real-time Transport Protocol (RTP) and User Datagram Protocol (UDP), or directly by using UDP. In turn, these packets are encapsulated using the Internet Protocol (IP), which is a basic protocol in the Internet Protocol Suite. The job of IP is to deliver the IP packets from the source host to the destination host. Using IP only provides a best effort delivery and is thus often an unreliable service. The lack of reliability can cause errors on the receiving side such as data corruption, lost data packets, duplicate arrival, or out-of-order packet delivery. To wholly or partly take measurements against such errors, higher level protocols as specified by e.g. UDP or the Transmission Control Protocol (TCP) can be used.
Some transport protocols used on the Internet, for instance TCP, contains sequence numbers which are incremented for each TCP/IP packet. This facilitates detection of packet losses, and in TCP this is used to ask for a retransmission of the missing packets. For real-time services, such as IPTV, it is not possible to use retransmission since it takes too much time. For realtime services, UDP is therefore often used. Similarly to IP, UDP does not contain any sequence number either, which makes it hard to detect transmission errors by using UDP/IP only. RTP on the other hand contains a sequence number which is large enough to reliable provide detection of packet losses, which means that real-time services employing RTP/UDP/IP can detect packet losses.
As mentioned, when the IP packets are transported over a network, impairments such as delay, jitter, and loss of IP packets can occur. This may affect the quality of the data, or service, contained by the data packets and provided to a user. An effect of the impairments is that data packets are missing at a Consumer Premises Equipment (CPE) that decodes the data packets and provides the service to a user (after the jitter buffer but before the decoder). This affects the quality of experience, and it is important that the service provider can obtain information about this, such that measures can be taken to improve the situation.
Hence, from a service monitoring point of view it is important to keep track of the loss of IP packets and/or the loss of data packets that are encapsulated by the IP packets.
Prior art address this issue, such as patent document US2010135180 A1 which discloses method of measuring packet loss, or more specifically packet loss rate. The method includes intermittently capturing packets during a session. A capture success number indicating a number captured packets and a capturable number indicating a possible number of the packets to be captured are counted. A loss rate indicating a rate of losing the packets is calculated, according to the capture success number and the capturable number.
A number of further techniques exist, of which some are more general in terms of determining packet loss while others are able to determine packet loss for quite specific types of IP packets and/or data packets.
Known techniques are generally capable of determining packet loss. However, it is believed that prior art may be improved in the sense that more accurate packet loss calculation may be employed, both in respect of loss of general types of data packets and loss of more specific types of data packets.